package com.jari.lg.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class CrossDeviceDataRTExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CrossDeviceDataRTExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUuidIsNull() {
            addCriterion("uuid is null");
            return (Criteria) this;
        }

        public Criteria andUuidIsNotNull() {
            addCriterion("uuid is not null");
            return (Criteria) this;
        }

        public Criteria andUuidEqualTo(String value) {
            addCriterion("uuid =", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidNotEqualTo(String value) {
            addCriterion("uuid <>", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidGreaterThan(String value) {
            addCriterion("uuid >", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidGreaterThanOrEqualTo(String value) {
            addCriterion("uuid >=", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidLessThan(String value) {
            addCriterion("uuid <", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidLessThanOrEqualTo(String value) {
            addCriterion("uuid <=", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidLike(String value) {
            addCriterion("uuid like", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidNotLike(String value) {
            addCriterion("uuid not like", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidIn(List<String> values) {
            addCriterion("uuid in", values, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidNotIn(List<String> values) {
            addCriterion("uuid not in", values, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidBetween(String value1, String value2) {
            addCriterion("uuid between", value1, value2, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidNotBetween(String value1, String value2) {
            addCriterion("uuid not between", value1, value2, "uuid");
            return (Criteria) this;
        }

        public Criteria andCrossidIsNull() {
            addCriterion("crossId is null");
            return (Criteria) this;
        }

        public Criteria andCrossidIsNotNull() {
            addCriterion("crossId is not null");
            return (Criteria) this;
        }

        public Criteria andCrossidEqualTo(String value) {
            addCriterion("crossId =", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidNotEqualTo(String value) {
            addCriterion("crossId <>", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidGreaterThan(String value) {
            addCriterion("crossId >", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidGreaterThanOrEqualTo(String value) {
            addCriterion("crossId >=", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidLessThan(String value) {
            addCriterion("crossId <", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidLessThanOrEqualTo(String value) {
            addCriterion("crossId <=", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidLike(String value) {
            addCriterion("crossId like", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidNotLike(String value) {
            addCriterion("crossId not like", value, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidIn(List<String> values) {
            addCriterion("crossId in", values, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidNotIn(List<String> values) {
            addCriterion("crossId not in", values, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidBetween(String value1, String value2) {
            addCriterion("crossId between", value1, value2, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossidNotBetween(String value1, String value2) {
            addCriterion("crossId not between", value1, value2, "crossid");
            return (Criteria) this;
        }

        public Criteria andCrossnameIsNull() {
            addCriterion("crossName is null");
            return (Criteria) this;
        }

        public Criteria andCrossnameIsNotNull() {
            addCriterion("crossName is not null");
            return (Criteria) this;
        }

        public Criteria andCrossnameEqualTo(String value) {
            addCriterion("crossName =", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameNotEqualTo(String value) {
            addCriterion("crossName <>", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameGreaterThan(String value) {
            addCriterion("crossName >", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameGreaterThanOrEqualTo(String value) {
            addCriterion("crossName >=", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameLessThan(String value) {
            addCriterion("crossName <", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameLessThanOrEqualTo(String value) {
            addCriterion("crossName <=", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameLike(String value) {
            addCriterion("crossName like", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameNotLike(String value) {
            addCriterion("crossName not like", value, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameIn(List<String> values) {
            addCriterion("crossName in", values, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameNotIn(List<String> values) {
            addCriterion("crossName not in", values, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameBetween(String value1, String value2) {
            addCriterion("crossName between", value1, value2, "crossname");
            return (Criteria) this;
        }

        public Criteria andCrossnameNotBetween(String value1, String value2) {
            addCriterion("crossName not between", value1, value2, "crossname");
            return (Criteria) this;
        }

        public Criteria andDatatypeIsNull() {
            addCriterion("dataType is null");
            return (Criteria) this;
        }

        public Criteria andDatatypeIsNotNull() {
            addCriterion("dataType is not null");
            return (Criteria) this;
        }

        public Criteria andDatatypeEqualTo(String value) {
            addCriterion("dataType =", value, "datatype");
            return (Criteria) this;
        }

        public Criteria andDatatypeNotEqualTo(String value) {
            addCriterion("dataType <>", value, "datatype");
            return (Criteria) this;
        }

        public Criteria andDatatypeGreaterThan(String value) {
            addCriterion("dataType >", value, "datatype");
            return (Criteria) this;
        }

        public Criteria andDatatypeGreaterThanOrEqualTo(String value) {
            addCriterion("dataType >=", value, "datatype");
            return (Criteria) this;
        }

        public Criteria andDatatypeLessThan(String value) {
            addCriterion("dataType <", value, "datatype");
            return (Criteria) this;
        }

        public Criteria andDatatypeLessThanOrEqualTo(String value) {
            addCriterion("dataType <=", value, "datatype");
            return (Criteria) this;
        }

        public Criteria andDatatypeLike(String value) {
            addCriterion("dataType like", value, "datatype");
            return (Criteria) this;
        }

        public Criteria andDatatypeNotLike(String value) {
            addCriterion("dataType not like", value, "datatype");
            return (Criteria) this;
        }

        public Criteria andDatatypeIn(List<String> values) {
            addCriterion("dataType in", values, "datatype");
            return (Criteria) this;
        }

        public Criteria andDatatypeNotIn(List<String> values) {
            addCriterion("dataType not in", values, "datatype");
            return (Criteria) this;
        }

        public Criteria andDatatypeBetween(String value1, String value2) {
            addCriterion("dataType between", value1, value2, "datatype");
            return (Criteria) this;
        }

        public Criteria andDatatypeNotBetween(String value1, String value2) {
            addCriterion("dataType not between", value1, value2, "datatype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeIsNull() {
            addCriterion("deviceType is null");
            return (Criteria) this;
        }

        public Criteria andDevicetypeIsNotNull() {
            addCriterion("deviceType is not null");
            return (Criteria) this;
        }

        public Criteria andDevicetypeEqualTo(String value) {
            addCriterion("deviceType =", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeNotEqualTo(String value) {
            addCriterion("deviceType <>", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeGreaterThan(String value) {
            addCriterion("deviceType >", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeGreaterThanOrEqualTo(String value) {
            addCriterion("deviceType >=", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeLessThan(String value) {
            addCriterion("deviceType <", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeLessThanOrEqualTo(String value) {
            addCriterion("deviceType <=", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeLike(String value) {
            addCriterion("deviceType like", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeNotLike(String value) {
            addCriterion("deviceType not like", value, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeIn(List<String> values) {
            addCriterion("deviceType in", values, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeNotIn(List<String> values) {
            addCriterion("deviceType not in", values, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeBetween(String value1, String value2) {
            addCriterion("deviceType between", value1, value2, "devicetype");
            return (Criteria) this;
        }

        public Criteria andDevicetypeNotBetween(String value1, String value2) {
            addCriterion("deviceType not between", value1, value2, "devicetype");
            return (Criteria) this;
        }

        public Criteria andOriginaldatacountIsNull() {
            addCriterion("originalDataCount is null");
            return (Criteria) this;
        }

        public Criteria andOriginaldatacountIsNotNull() {
            addCriterion("originalDataCount is not null");
            return (Criteria) this;
        }

        public Criteria andOriginaldatacountEqualTo(Integer value) {
            addCriterion("originalDataCount =", value, "originaldatacount");
            return (Criteria) this;
        }

        public Criteria andOriginaldatacountNotEqualTo(Integer value) {
            addCriterion("originalDataCount <>", value, "originaldatacount");
            return (Criteria) this;
        }

        public Criteria andOriginaldatacountGreaterThan(Integer value) {
            addCriterion("originalDataCount >", value, "originaldatacount");
            return (Criteria) this;
        }

        public Criteria andOriginaldatacountGreaterThanOrEqualTo(Integer value) {
            addCriterion("originalDataCount >=", value, "originaldatacount");
            return (Criteria) this;
        }

        public Criteria andOriginaldatacountLessThan(Integer value) {
            addCriterion("originalDataCount <", value, "originaldatacount");
            return (Criteria) this;
        }

        public Criteria andOriginaldatacountLessThanOrEqualTo(Integer value) {
            addCriterion("originalDataCount <=", value, "originaldatacount");
            return (Criteria) this;
        }

        public Criteria andOriginaldatacountIn(List<Integer> values) {
            addCriterion("originalDataCount in", values, "originaldatacount");
            return (Criteria) this;
        }

        public Criteria andOriginaldatacountNotIn(List<Integer> values) {
            addCriterion("originalDataCount not in", values, "originaldatacount");
            return (Criteria) this;
        }

        public Criteria andOriginaldatacountBetween(Integer value1, Integer value2) {
            addCriterion("originalDataCount between", value1, value2, "originaldatacount");
            return (Criteria) this;
        }

        public Criteria andOriginaldatacountNotBetween(Integer value1, Integer value2) {
            addCriterion("originalDataCount not between", value1, value2, "originaldatacount");
            return (Criteria) this;
        }

        public Criteria andCleandatacountIsNull() {
            addCriterion("cleanDataCount is null");
            return (Criteria) this;
        }

        public Criteria andCleandatacountIsNotNull() {
            addCriterion("cleanDataCount is not null");
            return (Criteria) this;
        }

        public Criteria andCleandatacountEqualTo(Integer value) {
            addCriterion("cleanDataCount =", value, "cleandatacount");
            return (Criteria) this;
        }

        public Criteria andCleandatacountNotEqualTo(Integer value) {
            addCriterion("cleanDataCount <>", value, "cleandatacount");
            return (Criteria) this;
        }

        public Criteria andCleandatacountGreaterThan(Integer value) {
            addCriterion("cleanDataCount >", value, "cleandatacount");
            return (Criteria) this;
        }

        public Criteria andCleandatacountGreaterThanOrEqualTo(Integer value) {
            addCriterion("cleanDataCount >=", value, "cleandatacount");
            return (Criteria) this;
        }

        public Criteria andCleandatacountLessThan(Integer value) {
            addCriterion("cleanDataCount <", value, "cleandatacount");
            return (Criteria) this;
        }

        public Criteria andCleandatacountLessThanOrEqualTo(Integer value) {
            addCriterion("cleanDataCount <=", value, "cleandatacount");
            return (Criteria) this;
        }

        public Criteria andCleandatacountIn(List<Integer> values) {
            addCriterion("cleanDataCount in", values, "cleandatacount");
            return (Criteria) this;
        }

        public Criteria andCleandatacountNotIn(List<Integer> values) {
            addCriterion("cleanDataCount not in", values, "cleandatacount");
            return (Criteria) this;
        }

        public Criteria andCleandatacountBetween(Integer value1, Integer value2) {
            addCriterion("cleanDataCount between", value1, value2, "cleandatacount");
            return (Criteria) this;
        }

        public Criteria andCleandatacountNotBetween(Integer value1, Integer value2) {
            addCriterion("cleanDataCount not between", value1, value2, "cleandatacount");
            return (Criteria) this;
        }

        public Criteria andDatestampIsNull() {
            addCriterion("dateStamp is null");
            return (Criteria) this;
        }

        public Criteria andDatestampIsNotNull() {
            addCriterion("dateStamp is not null");
            return (Criteria) this;
        }

        public Criteria andDatestampEqualTo(Date value) {
            addCriterionForJDBCDate("dateStamp =", value, "datestamp");
            return (Criteria) this;
        }

        public Criteria andDatestampNotEqualTo(Date value) {
            addCriterionForJDBCDate("dateStamp <>", value, "datestamp");
            return (Criteria) this;
        }

        public Criteria andDatestampGreaterThan(Date value) {
            addCriterionForJDBCDate("dateStamp >", value, "datestamp");
            return (Criteria) this;
        }

        public Criteria andDatestampGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("dateStamp >=", value, "datestamp");
            return (Criteria) this;
        }

        public Criteria andDatestampLessThan(Date value) {
            addCriterionForJDBCDate("dateStamp <", value, "datestamp");
            return (Criteria) this;
        }

        public Criteria andDatestampLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("dateStamp <=", value, "datestamp");
            return (Criteria) this;
        }

        public Criteria andDatestampIn(List<Date> values) {
            addCriterionForJDBCDate("dateStamp in", values, "datestamp");
            return (Criteria) this;
        }

        public Criteria andDatestampNotIn(List<Date> values) {
            addCriterionForJDBCDate("dateStamp not in", values, "datestamp");
            return (Criteria) this;
        }

        public Criteria andDatestampBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("dateStamp between", value1, value2, "datestamp");
            return (Criteria) this;
        }

        public Criteria andDatestampNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("dateStamp not between", value1, value2, "datestamp");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNull() {
            addCriterion("creator is null");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNotNull() {
            addCriterion("creator is not null");
            return (Criteria) this;
        }

        public Criteria andCreatorEqualTo(String value) {
            addCriterion("creator =", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotEqualTo(String value) {
            addCriterion("creator <>", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThan(String value) {
            addCriterion("creator >", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThanOrEqualTo(String value) {
            addCriterion("creator >=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThan(String value) {
            addCriterion("creator <", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThanOrEqualTo(String value) {
            addCriterion("creator <=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLike(String value) {
            addCriterion("creator like", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotLike(String value) {
            addCriterion("creator not like", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorIn(List<String> values) {
            addCriterion("creator in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotIn(List<String> values) {
            addCriterion("creator not in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorBetween(String value1, String value2) {
            addCriterion("creator between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotBetween(String value1, String value2) {
            addCriterion("creator not between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andGmtcreateIsNull() {
            addCriterion("gmtCreate is null");
            return (Criteria) this;
        }

        public Criteria andGmtcreateIsNotNull() {
            addCriterion("gmtCreate is not null");
            return (Criteria) this;
        }

        public Criteria andGmtcreateEqualTo(Date value) {
            addCriterion("gmtCreate =", value, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateNotEqualTo(Date value) {
            addCriterion("gmtCreate <>", value, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateGreaterThan(Date value) {
            addCriterion("gmtCreate >", value, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateGreaterThanOrEqualTo(Date value) {
            addCriterion("gmtCreate >=", value, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateLessThan(Date value) {
            addCriterion("gmtCreate <", value, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateLessThanOrEqualTo(Date value) {
            addCriterion("gmtCreate <=", value, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateIn(List<Date> values) {
            addCriterion("gmtCreate in", values, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateNotIn(List<Date> values) {
            addCriterion("gmtCreate not in", values, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateBetween(Date value1, Date value2) {
            addCriterion("gmtCreate between", value1, value2, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateNotBetween(Date value1, Date value2) {
            addCriterion("gmtCreate not between", value1, value2, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andModifierIsNull() {
            addCriterion("modifier is null");
            return (Criteria) this;
        }

        public Criteria andModifierIsNotNull() {
            addCriterion("modifier is not null");
            return (Criteria) this;
        }

        public Criteria andModifierEqualTo(String value) {
            addCriterion("modifier =", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotEqualTo(String value) {
            addCriterion("modifier <>", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierGreaterThan(String value) {
            addCriterion("modifier >", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierGreaterThanOrEqualTo(String value) {
            addCriterion("modifier >=", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLessThan(String value) {
            addCriterion("modifier <", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLessThanOrEqualTo(String value) {
            addCriterion("modifier <=", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLike(String value) {
            addCriterion("modifier like", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotLike(String value) {
            addCriterion("modifier not like", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierIn(List<String> values) {
            addCriterion("modifier in", values, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotIn(List<String> values) {
            addCriterion("modifier not in", values, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierBetween(String value1, String value2) {
            addCriterion("modifier between", value1, value2, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotBetween(String value1, String value2) {
            addCriterion("modifier not between", value1, value2, "modifier");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedIsNull() {
            addCriterion("gmtModified is null");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedIsNotNull() {
            addCriterion("gmtModified is not null");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedEqualTo(Date value) {
            addCriterion("gmtModified =", value, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedNotEqualTo(Date value) {
            addCriterion("gmtModified <>", value, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedGreaterThan(Date value) {
            addCriterion("gmtModified >", value, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedGreaterThanOrEqualTo(Date value) {
            addCriterion("gmtModified >=", value, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedLessThan(Date value) {
            addCriterion("gmtModified <", value, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedLessThanOrEqualTo(Date value) {
            addCriterion("gmtModified <=", value, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedIn(List<Date> values) {
            addCriterion("gmtModified in", values, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedNotIn(List<Date> values) {
            addCriterion("gmtModified not in", values, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedBetween(Date value1, Date value2) {
            addCriterion("gmtModified between", value1, value2, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedNotBetween(Date value1, Date value2) {
            addCriterion("gmtModified not between", value1, value2, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andDatastatusIsNull() {
            addCriterion("dataStatus is null");
            return (Criteria) this;
        }

        public Criteria andDatastatusIsNotNull() {
            addCriterion("dataStatus is not null");
            return (Criteria) this;
        }

        public Criteria andDatastatusEqualTo(String value) {
            addCriterion("dataStatus =", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotEqualTo(String value) {
            addCriterion("dataStatus <>", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusGreaterThan(String value) {
            addCriterion("dataStatus >", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusGreaterThanOrEqualTo(String value) {
            addCriterion("dataStatus >=", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusLessThan(String value) {
            addCriterion("dataStatus <", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusLessThanOrEqualTo(String value) {
            addCriterion("dataStatus <=", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusLike(String value) {
            addCriterion("dataStatus like", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotLike(String value) {
            addCriterion("dataStatus not like", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusIn(List<String> values) {
            addCriterion("dataStatus in", values, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotIn(List<String> values) {
            addCriterion("dataStatus not in", values, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusBetween(String value1, String value2) {
            addCriterion("dataStatus between", value1, value2, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotBetween(String value1, String value2) {
            addCriterion("dataStatus not between", value1, value2, "datastatus");
            return (Criteria) this;
        }

        public Criteria andVersionIsNull() {
            addCriterion("version is null");
            return (Criteria) this;
        }

        public Criteria andVersionIsNotNull() {
            addCriterion("version is not null");
            return (Criteria) this;
        }

        public Criteria andVersionEqualTo(Long value) {
            addCriterion("version =", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotEqualTo(Long value) {
            addCriterion("version <>", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThan(Long value) {
            addCriterion("version >", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThanOrEqualTo(Long value) {
            addCriterion("version >=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThan(Long value) {
            addCriterion("version <", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThanOrEqualTo(Long value) {
            addCriterion("version <=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionIn(List<Long> values) {
            addCriterion("version in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotIn(List<Long> values) {
            addCriterion("version not in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionBetween(Long value1, Long value2) {
            addCriterion("version between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotBetween(Long value1, Long value2) {
            addCriterion("version not between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}